
import java.util.ArrayList;
/**
 * Write a description of class Player here.
 * 
 * @author (Marcel) 
 * @version (23.1.15)
 */
public class Player
{
    public ArrayList<String> cards;

    public String antwort1;
    public String antwort2;

    public boolean ant;
    public boolean rdy;
    public int anzAnt;
    public int punkte;
    public int wahl;
    public String name;
    public boolean jury;
    public boolean darfAnt;
    public int listStelle;

    private Nutzer meinNutzer;

    public Player(String pName, Nutzer nutzer)
    {
        meinNutzer = nutzer;

        antwort1="";
        antwort2="";

        darfAnt=true;
        name=pName;
        jury=false;
        wahl=0;
        punkte=0;
        anzAnt=0;
        rdy=false;
        ant=false;

        cards=new ArrayList<String>();

    }

    //METHODEN FUER DEN NUTZER

    public Nutzer getNutzer() {
        return meinNutzer;
    }

    public void setAllBack()
    {
        wahl=0;
        anzAnt=0;
        rdy=false;
        ant=false;
        antwort1="";
        antwort2="";
        darfAnt=true;
    }

    public void eineAntwortGeben(int a1)
    {
        if(darfAnt==true)
        {
            if(anzAnt!=1)
            {System.out.println("Dies ist momentan nicht machbar");}
            else{
                if(jury==false)
                {
                    if(a1>5)
                    {
                        System.out.println("Karte nicht vorhanden");
                    }
                    else
                    {
                        antwort1=cards.get(a1);
                        antwort2="";
                        cards.remove(a1);
                        setAnt(true);
                        darfAnt=false;
                    }
                }
                else
                {
                    System.out.println("Sie sind in dieser Runde die Jury");
                }
            }
        }
        else
        {
            System.out.println("Antwort wurde bereits gegeben.");
        }
    }

    public void zweiAntwortenGeben(int a1, int a2)
    {
        if(darfAnt==true)
        {
                if(jury==false)
                {
                    if(a1>5||a2>5)
                    {
                        System.out.println("Karte nicht vorhanden");
                    }
                    else
                    {
                        antwort1=cards.get(a1);
                        antwort2=cards.get(a2);
                        if(a2<a1)
                        {
                            cards.remove(a1);
                            cards.remove(a2);
                        }
                        else{
                            cards.remove(a2);
                            cards.remove(a1);
                        }
                        darfAnt=false;
                        setAnt(true);
                    }
                }
                else
                {
                    System.out.println("Sie sind in dieser Runde die Jury");
                }
            
        }
        else
        {
            System.out.println("Antwort wurde bereits gegeben.");
        }
    }

    public int getWahl()
    {
        return wahl;
    }

    public void setWahl(int pWahl)
    {
        if (jury==true)
        {      
            if(pWahl==listStelle)
            {
                System.out.println("Sie können sich nicht selber wählen.");
            }
            else
            {
                wahl=pWahl;
                rdy=true;       
            }
        }
        else
        {
            System.out.println("Sie sind in dieser Runde nicht die Jury.");
        }
    }

    public void setJuryTrue()
    {
        jury=true;
    }

    public void setJuryFalse()
    {
        jury=false;
    }

    public boolean getJury()
    {
        return jury;
    }

    public void karteHinzufuegen(String x)
    {
        cards.add(x);
    }

    public int getAnzahlKarten()
    {
        return cards.size();
    }

    public String getCard1()
    {while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(0);
    }

    public String getCard2()
    {while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(1);
    }

    public String getCard3()
    {while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(2);
    }

    public String getCard4()
    {while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(3);
    }

    public String getCard5()
    {while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(4);
    }

    public String getCard6()
    {
        while(cards.size()<6)
        {
            Answer a = new Answer();
            String x=a.getAntwort();
            while(x.equals("pech"))
            {
                x=a.getAntwort();
            }
            karteHinzufuegen(x);
        }
        return cards.get(5);
        
    }

    public int getPunkte()
    {
        return punkte;
    }

    public void plusPunkt()
    {
        punkte++;
    }

    public void setAnzAnt(int pAnt)
    {
        anzAnt=pAnt;
    }

    public void setRdy(boolean x)
    {
        rdy=x;
    }

    public boolean getRdy()
    {
        return rdy;
    }

    public void setAnt(boolean x)
    {
        ant=x;
    }

    public boolean getAnt()
    {
        return ant;
    }

    public void setListStelle(int x)
    {
        listStelle=x;
    }
}
